﻿Imports Capa_de_Acceso_a_Datos
Public Class frmSeleccionarFarmacia

    Private vistaFarmacias As DataView
    Public frmLlamada As String

    Private Sub frmSeleccionarFarmacia_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        vistaFarmacias = FarmaciaDAO.obtenerFarmacias(0).DefaultView
        CargarGrilla()
        With dgvFarmacias
            ' alternar color de filas  
            .AlternatingRowsDefaultCellStyle.BackColor = Color.FloralWhite
            .DefaultCellStyle.BackColor = Color.Beige
        End With
    End Sub

    Private Sub CargarGrilla()        
        dgvFarmacias.DataSource = vistaFarmacias
        dgvFarmacias.Refresh()
        dgvFarmacias.Columns("FarmaciaId").Visible = False
        dgvFarmacias.Columns("FarmaciaNombre").HeaderText = "Nombre"
        dgvFarmacias.Columns("FarmaciaRazonSocial").Visible = False
        dgvFarmacias.Columns("FarmaciaEmail").HeaderText = "Email"
        dgvFarmacias.Columns("FarmaciaTelefono").HeaderText = "Teléfono"
        dgvFarmacias.Columns("FarmaciaEmail").Width = 160
        dgvFarmacias.Columns("FarmaciaTelefono").Width = 108
    End Sub

    Private Sub btnSeleccionar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSeleccionar.Click
        If TodoOk() Then
            Me.Dispose()
        End If
    End Sub

    Private Sub dgvFarmacias_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgvFarmacias.DoubleClick

        If TodoOk() Then
            Me.Dispose()
        End If
    End Sub

    Private Function TodoOk() As Boolean
        Dim ok As Boolean = False
        Dim FarmaciaNombre As String
        Dim FarmaciaId As String

        'Si hay una fila seleccionada
        If dgvFarmacias.SelectedRows.Count > 0 Then
            FarmaciaNombre = dgvFarmacias.SelectedRows(0).Cells("FarmaciaNombre").Value
            FarmaciaId = dgvFarmacias.SelectedRows(0).Cells("FarmaciaId").Value
            Select Case frmLlamada
                Case "frmCargaCaratula"
                    frmCargaCaratula.txtFarmacia.Text = FarmaciaNombre
                    frmCargaCaratula.FarmaciaId = FarmaciaId
                Case "frmConsultarPresentaciones"
                    frmConsultarPresentaciones.txtFarmacia.Text = FarmaciaNombre
                    frmConsultarPresentaciones.FarmaciaId = FarmaciaId
                Case "frmNotasCredito"
                    frmNotasCredito.txtFarmaciaNC.Text = FarmaciaNombre
                    frmNotasCredito.FarmaciaId = FarmaciaId
                Case "frmDebitos"
                    frmDebitos.txtFarmacia.Text = FarmaciaNombre
                    frmDebitos.FarmaciaId = FarmaciaId
                Case "frmSeleccionarPresentacion"
                    frmSeleccionarPresentacion.txtFarmacia.Text = FarmaciaNombre
                    frmSeleccionarPresentacion.FarmaciaId = FarmaciaId
                Case "frmSupervisarConsultas"
                    frmSupervisarConsultas.txtFarmacia.Text = FarmaciaNombre
                    frmSupervisarConsultas.farmaciaId = FarmaciaId
                Case "frmRegistrarRecepcionPresentacion"
                    frmRegistrarRecepcionPresentacion.txtFarmacia.Text = FarmaciaNombre
                    frmRegistrarRecepcionPresentacion.txtFarmaciaId.Text = FarmaciaId
                Case "frmConsultarRecepciones"
                    frmConsultarRecepciones.txtFarmacia.Text = FarmaciaNombre
                    frmConsultarRecepciones.farmaciaId = FarmaciaId
                Case "frmConsultarCuentasCorrientes"
                    frmConsultarCuentasCorrientes.txtFarmacia.Text = FarmaciaNombre
                    frmConsultarCuentasCorrientes.FarmaciaId = FarmaciaId
                Case "frmConsultasFarmacias"
                    frmConsultasFarmacias.txtFarmacia.Text = dgvFarmacias.SelectedRows(0).Cells("FarmaciaNombre").Value
                    frmConsultasFarmacias.FarmaciaSeleccionadaId = dgvFarmacias.SelectedRows(0).Cells("FarmaciaId").Value
                Case "frmConsulta"
                    frmConsulta.FarmaciaId = dgvFarmacias.SelectedRows(0).Cells("FarmaciaId").Value
                    frmConsulta.txtFarmacia.Text = dgvFarmacias.SelectedRows(0).Cells("FarmaciaNombre").Value

            End Select
            Me.DialogResult = FarmaciaId
            ok = True
        Else
            MsgBox("Seleccione primero una fila", MsgBoxStyle.Information)
        End If
        Return ok
    End Function


    Private Sub txtNombre_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNombre.TextChanged

        FiltrarGrilla()

    End Sub

    Private Sub txtEmail_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtEmail.TextChanged

        FiltrarGrilla()

    End Sub

    Private Sub FiltrarGrilla()
        'Creamos el filtro para aquellos datos que comienzan con los textos buscados
        Dim filtro As String = "FarmaciaEmail LIKE '%" & txtEmail.Text & "%'" & "And FarmaciaNombre LIKE '%" & txtNombre.Text & "%'"

        'Filtramos el listado de farmacias y cargamos la grilla nuevamente
        vistaFarmacias.RowFilter = filtro

        CargarGrilla()
    End Sub
End Class